import {
  attrUpdate
} from './update';
/**
 * 数据响应式代理
 * @param {object} vm 实例对象
 * @param {object} target data方法返回的对象
 */
export function reactive(vm, target) {
  for (let key in target) {
    // console.log(target);
    //{isShow: true, hasError: true, titleStyle: {…}, titleShow: true, subTitleColor: "orange"}

    Object.defineProperty(vm, key, {
      get() {
        return target[key];
      },
      set(newValue) {
        if (target[key] === newValue) return;
        target[key] = newValue;
        attrUpdate(vm, key);
      }
    })
  }
}